import { userAccountLogin } from '@/utils/user'
// 用户状态
export default {
  namespaced: true,
  // state用函数形式返回一个对象和组件中data() {return {}} 中一样 避免引用
  state: () => ({
    profile: {
      id: '',
      avatar: '',
      nickname: '',
      account: '',
      mobile: '',
      token: ''
    }
  }),
  // 存储登录信息
  mutations: {
    setUser(state, payload) {
      state.profile = payload
    },
    // 删除登录信息
    delUser(state) {
      state.profile = {}
    }
  },
  // 处理登录事件
  actions: {
    async asyncSetUser(ctx, useInfo) {
      const res = await userAccountLogin(useInfo)
      ctx.commit('setUser', res)
    },
    // 处理退出登录事件
    async logoutAction({ commit }) {
      commit('delUser')
      // 清空购物车
      commit('car/setList', [], { root: true })
    }
  }
}